package org.gr.ias.common.entity;

import java.io.Serializable;

public class ProjectFinancingWithBLOBs extends ProjectFinancing implements Serializable {
    /** 概述：
            项目融资-项目概述
            资产交易-资产概述
            政府招商-项目内容
            投资理财-产品概述*/
    private String summary;

    /** 备注：
            项目融资-其他备注
            资产交易-其他备注
            政府招商-无此栏位
            投资理财-其他信息*/
    private String remark;

    /** 审核备注(包括但不限于记录锁定、关闭、加入黑名单等原因)*/
    private String approveRemark;

    private static final long serialVersionUID = 1L;

    public String getSummary() {
        return summary;
    }

    public void setSummary(String summary) {
        this.summary = summary == null ? null : summary.trim();
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark == null ? null : remark.trim();
    }

    public String getApproveRemark() {
        return approveRemark;
    }

    public void setApproveRemark(String approveRemark) {
        this.approveRemark = approveRemark == null ? null : approveRemark.trim();
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        ProjectFinancingWithBLOBs other = (ProjectFinancingWithBLOBs) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getFinancingCategory() == null ? other.getFinancingCategory() == null : this.getFinancingCategory().equals(other.getFinancingCategory()))
            && (this.getTitle() == null ? other.getTitle() == null : this.getTitle().equals(other.getTitle()))
            && (this.getProvinceId() == null ? other.getProvinceId() == null : this.getProvinceId().equals(other.getProvinceId()))
            && (this.getCityId() == null ? other.getCityId() == null : this.getCityId().equals(other.getCityId()))
            && (this.getCountryId() == null ? other.getCountryId() == null : this.getCountryId().equals(other.getCountryId()))
            && (this.getAddress() == null ? other.getAddress() == null : this.getAddress().equals(other.getAddress()))
            && (this.getEffectiveTimeStart() == null ? other.getEffectiveTimeStart() == null : this.getEffectiveTimeStart().equals(other.getEffectiveTimeStart()))
            && (this.getEffectiveTimeEnd() == null ? other.getEffectiveTimeEnd() == null : this.getEffectiveTimeEnd().equals(other.getEffectiveTimeEnd()))
            && (this.getFinancingIndustry() == null ? other.getFinancingIndustry() == null : this.getFinancingIndustry().equals(other.getFinancingIndustry()))
            && (this.getFinancingAmtStart() == null ? other.getFinancingAmtStart() == null : this.getFinancingAmtStart().equals(other.getFinancingAmtStart()))
            && (this.getFinancingAmtStartUnit() == null ? other.getFinancingAmtStartUnit() == null : this.getFinancingAmtStartUnit().equals(other.getFinancingAmtStartUnit()))
            && (this.getFinancingAmtEnd() == null ? other.getFinancingAmtEnd() == null : this.getFinancingAmtEnd().equals(other.getFinancingAmtEnd()))
            && (this.getFinancingAmtEndUnit() == null ? other.getFinancingAmtEndUnit() == null : this.getFinancingAmtEndUnit().equals(other.getFinancingAmtEndUnit()))
            && (this.getAmtStart() == null ? other.getAmtStart() == null : this.getAmtStart().equals(other.getAmtStart()))
            && (this.getAmtEnd() == null ? other.getAmtEnd() == null : this.getAmtEnd().equals(other.getAmtEnd()))
            && (this.getTag() == null ? other.getTag() == null : this.getTag().equals(other.getTag()))
            && (this.getCreateUser() == null ? other.getCreateUser() == null : this.getCreateUser().equals(other.getCreateUser()))
            && (this.getCreateUserName() == null ? other.getCreateUserName() == null : this.getCreateUserName().equals(other.getCreateUserName()))
            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
            && (this.getModifyTime() == null ? other.getModifyTime() == null : this.getModifyTime().equals(other.getModifyTime()))
            && (this.getApproveUser() == null ? other.getApproveUser() == null : this.getApproveUser().equals(other.getApproveUser()))
            && (this.getApproveUserName() == null ? other.getApproveUserName() == null : this.getApproveUserName().equals(other.getApproveUserName()))
            && (this.getApproveTime() == null ? other.getApproveTime() == null : this.getApproveTime().equals(other.getApproveTime()))
            && (this.getThumbnail() == null ? other.getThumbnail() == null : this.getThumbnail().equals(other.getThumbnail()))
            && (this.getAttachment() == null ? other.getAttachment() == null : this.getAttachment().equals(other.getAttachment()))
            && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
            && (this.getVersion() == null ? other.getVersion() == null : this.getVersion().equals(other.getVersion()))
            && (this.getSummary() == null ? other.getSummary() == null : this.getSummary().equals(other.getSummary()))
            && (this.getRemark() == null ? other.getRemark() == null : this.getRemark().equals(other.getRemark()))
            && (this.getApproveRemark() == null ? other.getApproveRemark() == null : this.getApproveRemark().equals(other.getApproveRemark()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getFinancingCategory() == null) ? 0 : getFinancingCategory().hashCode());
        result = prime * result + ((getTitle() == null) ? 0 : getTitle().hashCode());
        result = prime * result + ((getProvinceId() == null) ? 0 : getProvinceId().hashCode());
        result = prime * result + ((getCityId() == null) ? 0 : getCityId().hashCode());
        result = prime * result + ((getCountryId() == null) ? 0 : getCountryId().hashCode());
        result = prime * result + ((getAddress() == null) ? 0 : getAddress().hashCode());
        result = prime * result + ((getEffectiveTimeStart() == null) ? 0 : getEffectiveTimeStart().hashCode());
        result = prime * result + ((getEffectiveTimeEnd() == null) ? 0 : getEffectiveTimeEnd().hashCode());
        result = prime * result + ((getFinancingIndustry() == null) ? 0 : getFinancingIndustry().hashCode());
        result = prime * result + ((getFinancingAmtStart() == null) ? 0 : getFinancingAmtStart().hashCode());
        result = prime * result + ((getFinancingAmtStartUnit() == null) ? 0 : getFinancingAmtStartUnit().hashCode());
        result = prime * result + ((getFinancingAmtEnd() == null) ? 0 : getFinancingAmtEnd().hashCode());
        result = prime * result + ((getFinancingAmtEndUnit() == null) ? 0 : getFinancingAmtEndUnit().hashCode());
        result = prime * result + ((getAmtStart() == null) ? 0 : getAmtStart().hashCode());
        result = prime * result + ((getAmtEnd() == null) ? 0 : getAmtEnd().hashCode());
        result = prime * result + ((getTag() == null) ? 0 : getTag().hashCode());
        result = prime * result + ((getCreateUser() == null) ? 0 : getCreateUser().hashCode());
        result = prime * result + ((getCreateUserName() == null) ? 0 : getCreateUserName().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        result = prime * result + ((getModifyTime() == null) ? 0 : getModifyTime().hashCode());
        result = prime * result + ((getApproveUser() == null) ? 0 : getApproveUser().hashCode());
        result = prime * result + ((getApproveUserName() == null) ? 0 : getApproveUserName().hashCode());
        result = prime * result + ((getApproveTime() == null) ? 0 : getApproveTime().hashCode());
        result = prime * result + ((getThumbnail() == null) ? 0 : getThumbnail().hashCode());
        result = prime * result + ((getAttachment() == null) ? 0 : getAttachment().hashCode());
        result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
        result = prime * result + ((getVersion() == null) ? 0 : getVersion().hashCode());
        result = prime * result + ((getSummary() == null) ? 0 : getSummary().hashCode());
        result = prime * result + ((getRemark() == null) ? 0 : getRemark().hashCode());
        result = prime * result + ((getApproveRemark() == null) ? 0 : getApproveRemark().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", summary=").append(summary);
        sb.append(", remark=").append(remark);
        sb.append(", approveRemark=").append(approveRemark);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}